#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
using namespace std;

int a;
int b = 1;

int main(int argc, char* argv[], char* env[])
{

    int z = 100;

    pid_t id = fork();
    if(id < 0)
        return 1;
    else if(id == 0)
    {
        while(1)
        {
            cout<<"child "<<getpid()<<" "<<z<<" "<<&z<<endl;
            sleep(1);
            int cnt = 5;
            while(cnt--)
                z--;
        }
    }
    else{
        while(1)
        {
            cout<<"parent "<<getpid()<<" "<<z<<" "<<&z<<endl;
            sleep(1);
        }
    }
   // cout<<&argv[1]<<endl;
   // cout<<&env[1]<<endl;


   // printf("代码区%p\n",main);
   // const char* str= "hello";
   // printf("字符常量区%p\n",str);
   // cout<<"已初始化全局数据区"<<&b<<endl;
   // cout<<"未初始化全局数据区"<<&a<<endl;
   // int* heap = new int(3);
   // int* heap1 = new int(3);
   // int* heap2 = new int(3);
   // int* heap3 = new int(3);
   // printf("堆区%p\n",heap);
   // printf("堆区%p\n",heap1);
   // printf("堆区%p\n",heap2);
   // printf("堆区%p\n",heap3);
   // cout<<"栈区"<<&heap<<endl;
   // cout<<"栈区"<<&heap1<<endl;
   // cout<<"栈区"<<&heap2<<endl;
   // cout<<"栈区"<<&heap3<<endl;
    

//    cout<<getenv("PATH")<<endl;
//    int cnt = 5;
//    while(cnt--)
//        cout<<"mypro"<<endl;
//
//    if(argc != 4)
//    {
//        cout<<"using error"<<endl;
//        return 1;
//    }
//
//    int x = atoi(argv[2]);
//    int y = atoi(argv[3]);
//    int sum = 0;
//
//    if(strcmp(argv[1]),"-add") == 0)
//    {
//
//    }
//usr
    return 0;
}

   // for(int i = 0; i<argc; i++)
   // {
   //     cout<<i<<" "<<argv[i]<<endl;
   // }
   // return 0;
